Embodiments of the inventive concept relate generally to methods of filtering “big data”. More particularly, embodiments of the inventive concept relate to memory devices including one or more embedded hardware filter(s) capable of extracting desired data from incoming big data. Other embodiments of the inventive concept relate to memory systems and methods of operating memory systems including this type of memory device.
Memory devices, individually or configured in a constellation, are important components of contemporary electronic and computational systems. Memory devices are usually arranged with one or more access control components such as a memory controller in a wide variety of memory systems. The data storage and data access capabilities provided by a particular memory system will vary with its application.
Data server systems are an important sub-class of memory systems. A data server system generally includes a server component and a database component. The “server” controls execution of an array of operations capable of writing data to, reading data from, and maintaining the operational integrity and usefulness of the database. The database will typically be implemented using one or more data storage devices including one or more different types of semiconductor memory devices. Many server systems are specifically designed to receive big data, efficiently store the received big data, and allow rapid access and retrieve to stored big data.
In the context of contemporary server systems, big data may be stored in either a “relational” database or a so-called Not Only Structured Query Language SQL or “NoSQL” database. Thus, desired data may be extracted from stored big data in a relational database or a NoSQL database using a structured query language (SQL) or a unique query language. In this regard, a NoSQL database facilitates the storing of data and the retrieval of stored data without relying on the tabular relationships of rational databases.
In typical operation, a data server system communicates big data retrieved from a database and stores it in a main memory associated with (accessible by) a server. A server processor then extracts desired data from the big data stored in the main memory. Unfortunately, only a portion of the big data stored in the server's main memory may be extracted as desired data during a given time period by server processor, and the main memory may have a limited data storage capacity. As a result, conventional methods of extracting desired data from big data using a server processor are relatively inefficient when viewed in the context of overall data traffic capabilities provided by contemporary server systems. Moreover, the constant need for the database to communicate big data to the server in order to extract desired data consumes a high level system resources.